Repository navigation
DEV: показать статистику участников - #381
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Результат
Заглушка статистики на
/office/membersзаменена отдельнымMemberStatisticsCardComponentс четырьмя реальными глобальными агрегатами. Desktop sidebar остаётся 157 px, карточка — 157 × 280 px; координаты основной сетки по X, фильтров, аватаров и кнопки профиля сохранены.Ниже 1000 px порядок: поиск → Фильтры / Перейти в профиль → статистика 2 × 2 → список участников. Loading/error показывают прочерки и безопасный aria/status; настоящий ноль отображается как
0. Размер блока не меняется между состояниями.SHA
Base:
96a7a676f7d47194fa105fb1748a5bfc28b5b544Head:
be2469e0b29dfaa4272c6b5036f864e75a4fc994Backend dependency: PROCOLLAB-github/api#756
Данные
GET /auth/public-users/stats/→ общий CamelcaseInterceptor → типизированные port / adapter / repository → use-case / facade → UI. Поиск, фильтры и пагинация не передаются в endpoint; facade страницы загружает статистику один раз и отписывается при уходе.Для активных legacy
CustomUser,user_type=MEMBER:draft=False,is_public=True.draft=False.datetime_created >= timezone.now() - timedelta(days=30), включая границу.Backend считает это одним SQL-запросом; проверены 10/100/1000 пользователей и множественные связи. Неполный/неверный ответ не подменяется нулями.
Проверки
Node 20.20.2,
npm ci:npm run test:ci -- --pool=forks: 1819/1819, 391 файл, exit 0, без unhandled errors.npm run lint:ts: exit 0, шесть прежних предупреждений вне diff.npm run build:prod: exit 0, существующие Sass/CommonJS warnings.git diff --check: exit 0.npm run format:checkна exact HEAD, экспортированном с LF: exit 0. На Windows checkoutcore.autocrlf=trueисходно даёт CRLF warnings: 1524 файла на чистой базе / 1517 в рабочей копии. База с LF тоже GREEN; конфигурация и чужие файлы не менялись.Локальная браузерная проверка на реальной странице Angular с синтетическими данными: 1440 / 1280 / 1024 / 768 / 414 / 390 / 375 px, horizontal overflow 0. Desktop X сетки до/после: 365.828125 / 285.828125 / 201.5 соответственно — без изменений. Значения 0, 9, 63, 999, 1248, 12345, 12500, 999999 помещаются. Console errors нет; NG0912 о существующих IconComponent воспроизводится также на base.
Скриншоты и измерения
Полный отчёт, семь ширин и состояния
Фактическая геометрия
До:
После:
Границы
Shared SoonCard, member cards, skills, search и mobile filters не изменены. React untouched, dependencies/workflows unchanged. Только DEV. Merge/deploy не выполнялись.
При будущем DEV-deploy сначала нужен backend #756. Live-проверка нового endpoint на развёрнутом DEV не выполнялась; скриншоты показывают синтетические данные локальной проверки.